package com.zhi.service;

import com.zhi.entity.GradeTeacher;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;

import java.util.List;

/**
 * 院系班级教师service层
 */
public interface GradeTeacherService {

	/**
	 * 获得所有数据
	 * @return
	 */
	public List<GradeTeacher> getEntityList();

	/**
	 * 获得所有数据带数据字典值
	 * @return
	 */
	public List<Object[]> getEntityListWithCodeName();

	/**
	 * 获得所有数据带数据字典值并分页
	 * @param pageable
	 * @return
	 */
	public Page<GradeTeacher> getEntityListWithCodeName(Pageable pageable);

	/**
	 * 根据id获得
	 * @param id
	 * @return
	 */
	public GradeTeacher getOne(Integer id);

	/**
	 * 根据对象获得
	 * @param gradeTeacher
	 * @return
	 */
	public GradeTeacher findOne(GradeTeacher gradeTeacher);

	/**
	 * 根据对象获得list
	 * @param gradeTeacher
	 * @return
	 */
	public List<GradeTeacher> findAll(GradeTeacher gradeTeacher);

	/**
	 * 保存对象
	 * @param gradeTeacher
	 */
	public void save(GradeTeacher gradeTeacher);

	/**
	 * 保存对象批量
	 * @param gradeTeachers
	 */
	public void saveAll(List<GradeTeacher> gradeTeachers);

	/**
	 * 编辑对象
	 * @param gradeTeacher
	 */
	public void edit(GradeTeacher gradeTeacher);

	/**
	 * 删除对象
	 * @param id
	 */
	public void delete(Integer id);

	/**
	 * 删除对象-根据班级id
	 * @param gradeId
	 */
	public void deleteByGradeId(String gradeId);

	/**
	 * 根据对象获取数量
	 * @param gradeTeacher
	 * @return
	 */
	public Integer count(GradeTeacher gradeTeacher);

	
}
